<?php
/**
 * This class declare constants of enumeration name.
 *
 * @package core.includes
 * @author pktquynh
 * @version $Id:$
 * @copyright 2009 LHV Company
 */
class EnumerationConstant {
	/**
	 * This variable indicates enumeration name of bed price type.
	 * @var string
	 */
	const ENUM_BED_PRICE_TYPE = "bed_price_type";
	/**
     * This variable indicates enumeration name of room type.
     */
    const ENUM_ROOM_TYPE = "room_type";
	/**
	 * enum for status on emergency queue
	 */
	const PATIENT_SUB_STATUS_ALL = 'all';

	// TODO REVIEW Trung Nguyen 2009-07-21
	// Using IN_PATIENT_STATUS const for "in_patient_status"
    //enum for inpatient substatus
	const PATIENT_SUB_STATUS = "patient_sub_status";
	const PATIENT_SUB_STATUS_EMER_EMERGENCY = "emergency";
	const PATIENT_SUB_STATUS_EMER_RECOVERY = "recovery";
	const PATIENT_SUB_STATUS_CO_LEAVE = "leave";
	const PATIENT_SUB_STATUS_CO_CDEPT = "change_department";
	const PATIENT_SUB_STATUS_CO_DEATH = "death";
	//enum for inpatient status
	const IN_PATIENT_STATUS = "in_patient_status";
    const IN_PATIENT_STATUS_CHECK_IN = "check_in";
    const IN_PATIENT_STATUS_CHECK_OUT = "check_out";
    //enum for treatment type
    const IN_PATIENT_TREATMENT_TYPE = "in_patient_treatment_type";
    const IN_PATIENT_TREATMENT_TYPE_IN = "in";
    const IN_PATIENT_TREATMENT_TYPE_OUT = "out";
    //enum for treatment result
    const IN_PATIENT_TREATMENT_RESULT = "in_patient_treatment_result";
    const IN_PATIENT_TREATMENT_RESULT_RECOVER = "recover";
    const IN_PATIENT_TREATMENT_RESULT_RELIEVED = "relieved";
    const IN_PATIENT_TREATMENT_RESULT_NCHANGE = "no_change";
    const IN_PATIENT_TREATMENT_RESULT_SERIOUS = "serious";
    const IN_PATIENT_TREATMENT_RESULT_FATAL = "fatal";
    //enum for glasgow
    const IN_PATIENT_GLASGOW_E = "best_eye_response";
    const IN_PATIENT_GLASGOW_V = "best_verbal_response";
    const IN_PATIENT_GLASGOW_M = "best_motor_response";
    //enum for painful level
    const IN_PATIENT_PAINFULL_LEVEL = 'in_patient_painful_level';
    //enum for injury_level
    const EMER_REC_INJ_LEVEL    =   "injury_level";
    const EMER_REC_INJ_LEVEL_MINOR_KEY    =   1;
    const EMER_REC_INJ_LEVEL_MEDIUM_KEY    =   2;
    const EMER_REC_INJ_LEVEL_SERIOUS_KEY    =   3;
    const EMER_REC_INJ_LEVEL_DEAD_KEY    =   4;
    // transport
    const EMER_REC_TRANSPORT    =   "transport";
    // `service_insurance_map`.`enum_item_type`
    const SER_INS_ITEM_TYPE      =   "service_insurance_type";
    const SER_INS_ITEM_TYPE_LAB      =   "laboratory";
    const SER_INS_ITEM_TYPE_PTTT  =   'phauthuat_thuthuat';
    const SER_INS_ITEM_TYPE_MED  =   'medicine';
    const SER_INS_ITEM_TYPE_MAT  =   'material';

    //surgery classify
    const SURGERY_CLASSIFY = "surgery_classify";
    const SURGERY_CLASSIFY_THUTHUAT = "thu_thuat";
    const SURGERY_CLASSIFY_PHAUTHUAT = "phau_thuat";

     // `in_payment`.`enum_status`
    const IN_PAY_STATUS          =   "payment_status";
    const IN_PAY_STATUS_OPEN     =   'open';
    const IN_PAY_STATUS_CLOSED   =   'closed';

    const IN_TICKE_ITEM_ITEMTYPE = 'in_ticket_item_itemtype';
    const IN_TICKE_ITEM_ITEMTYPE_LAB = 'laboratory';
    const IN_TICKE_ITEM_ITEMTYPE_SURGERY = 'surgery';
    const IN_TICKE_ITEM_ITEMTYPE_RADIOLOGY  =   'radiology';

    const TRACKING_SYSTEM = 'tracking_system';
    const TRACKING_SYSTEM_CHANGEFEE = 'change_fee';

    // `surgery_participant`.`role`
    const SURGERY_PARTICIPANT_ROLE = 'surgery_participant_role';
    const SURGERY_PARTICIPANT_ROLE_SUR = 'surgeon';
    const SURGERY_PARTICIPANT_ROLE_ANE = 'anesthesiologist';
    const SURGERY_PARTICIPANT_ROLE_TEC = 'technicant';
    const SURGERY_PARTICIPANT_ROLE_NUR = 'nurse';
    const SURGERY_PARTICIPANT_ROLE_INP = 'internal_pathologist';
    const SURGERY_PARTICIPANT_ROLE_OBS = 'observer';
    const SURGERY_PARTICIPANT_ROLE_INT = 'introducer';
    // `surgery_service`.`enum_allowance_class`
    const SURGERY_SERVICE_ALLOWANCE_CLASS		=	'surgery_service_allowance_class';
    const SURGERY_SERVICE_ALLOWANCE_CLASS_1		=	'class_1';
    const SURGERY_SERVICE_ALLOWANCE_CLASS_2		=	'class_2';
    const SURGERY_SERVICE_ALLOWANCE_CLASS_3		=	'class_3';
    const SURGERY_SERVICE_ALLOWANCE_SPECIAL_CLASS	=	'special_class';
    // `surgery_service`.`enum_allowance_class`
    const SURGERY_TYPE = 'surgery_type';

    const PARACLINIC_TYPE = 'paraclinic_type';
    const PARACLINIC_LAB = 'laboratory';
    const PARACLINIC_ENDO = 'endoscopy';
    const PARACLINIC_XRAY = 'x_ray';
    const PARACLINIC_ULTRA = 'ultra_sound';

     // lab_assignment_ticket.enum_status
    const LAB_ASSIGNMENT_TICKET_STATUS          =   "lab_assignment_ticket_status";
    const LAB_ASSIGNMENT_TICKET_ASSIGNED        =   "assigned";
    const LAB_ASSIGNMENT_TICKET_WAITING         =   "waiting";
    const LAB_ASSIGNMENT_TICKET_INPROGRESS      =   "in_progress";
    const LAB_ASSIGNMENT_TICKET_DONE            =   "done";

    // rad_ticket.enum_ticket_status
    const RAD_TICKET_STATUS             =   "rad_ticket_status";
    const RAD_TICKET_STATUS_ASSIGNED    =   "assigned";
    const RAD_TICKET_STATUS_WAITING     =   "waiting";
    const RAD_TICKET_STATUS_INPROGRESS  =   "in_progress";
    const RAD_TICKET_STATUS_DONE        =   "done";

    // Patient type
    const PATIENT_TYPE              =   "patient_type";
    const PATIENT_TYPE_INPATIENT    =   "inpatient";
    const PATIENT_TYPE_OUTPATIENT   =   "outpatient";
    const PATIENT_TYPE_INPATIENT_KEY    =   1;
    const PATIENT_TYPE_OUTPATIENT_KEY   =   2;

    // Payment type (rad_type.enum_payment_type)
    const PAYMENT_TYPE          =   'payment_type';
    const PAYMENT_TYPE_AFTER    =   'after';
    const PAYMENT_TYPE_BEFORE   =   'before';

    //Unit
    const UNIT = 'unit';
    //DataType
    const LAB_DATATYPE = 'lab_data_type';
    const LAB_DATATYPE_TEXT = 'text';
    const LAB_DATATYPE_NUMBER = 'numeric';

    //pharmacy dept use in table
    //pha_ewh_imticket,
    //pha_drug_material,
    //pha_req_exticket
    const PHA_ITEM_TYPE = 'pha_item_type';
    const PHA_ITEM_TYPE_DRUG_KEY = 1;
    const PHA_ITEM_TYPE_MATERIAL_KEY = 2;

    //pharmacy dept
    //use in tables
    //pha_drug_material
    const PHA_IMSE_UNIT = 'pha_imse_unit';
    //pharmacy dept
    //use in tables
    //pha_ewh_valuate
    const PHA_VALUATE_METHOD = 'pha_valuate_method';
    const PHA_VALUATE_METHOD_LASTED_PRICE_KEY = 1;
    const PHA_VALUATE_METHOD_IMPORTED_PRICE_KEY = 2;

    const PHA_VALUATE_RATE_TYPE = 'pha_valuate_rate_type';
    const PHA_VALUATE_RATE_TYPE_PERCENT_KEY = 1;
    const PHA_VALUATE_RATE_TYPE_VND_KEY = 2;
    //use in tables
    //pha_req_exticket
    const PHA_REQ_SOURCE_TYPE = 'pha_req_src_type';
    const PHA_REQ_SOURCE_TYPE_DEPT_KEY = '1';
    const PHA_REQ_SOURCE_TYPE_DRUG_STORE_KEY = '2';

    const PHA_REQ_DESINATION = 'pha_req_destination';
    const PHA_REQ_DESINATION_EWH = '1';
    const PHA_REQ_DESINATION_OWH = '2';

    const PHA_REQ_STATUS = 'pha_req_status';
    const PHA_REQ_STATUS_PENDING_KEY = '1';
    const PHA_REQ_STATUS_ACCEPTED_KEY = '2';
    const PHA_REQ_STATUS_REJECTED_KEY = '3';

  	/**
	 * enum for employee contract type
	 */
	const EMPLOYEE_CONTRACT_TYPE = 'employee_contract_type';
	const EMPLOYEE_CONTRACT_TYPE_INSIDE_KEY = 1;
	const EMPLOYEE_CONTRACT_TYPE_OUTSIDE_KEY = 2;

	const PHA_DM_DEFAULT_USAGE = 'drug_material_default_usage';
	const PHA_DM_DEFAULT_USAGE_KNEADING = 2;
	const PHA_DM_DEFAULT_USAGE_GARGLE = 3;

	const ODON_PAYMENT_TYPE = "odon_payment_type";
	const ODON_PAYMENT_TYPE_COLLECT_KEY = 1;
	const ODON_PAYMENT_TYPE_PAY_BACK_KEY = 2;

	const ODON_SERVICE_TYPE = "odon_service_type";
	const ODON_SERVICE_TYPE_HIGH_TECH_KEY = 1;
	const ODON_SERVICE_TYPE_X_RAY_KEY = 2;
	const ODON_SERVICE_TYPE_LAB_KEY = 3;

	/**
	 * Enums for examination type
	 * ticket.enum_examination_type
	 */
	const EXAMINATION_TYPE = 'examination_type';
    const EXAMINATION_TYPE_SERVICE_KEY      = 1;
    const EXAMINATION_TYPE_INSURANCE_KEY    = 2;

    /**
     * enum for payment collection type
     * pay_receipt.enum_payment_type
     */
    const PAYMENT_COLLECTION_TYPE                   = 'payment_collection_type';
    const PAYMENT_COLLECTION_TYPE_COLLECTING_KEY    = 1;
    const PAYMENT_COLLECTION_TYPE_PAYBACK_KEY       = 2;
    const PAYMENT_COLLECTION_TYPE_TRANSFER_KEY      = 3;
    const PAYMENT_COLLECTION_TYPE_DELETE_SERVICE_KEY = 4;
    
    /**
     * Enums for payment system logging actions
     * pay_receipt_log.enum_action_type
     */
    const PAYMENT_LOGGING_ACTION	=	'pay_logging_action';
    const PAYMENT_LOGGING_ACTION_DELETE_KEY			=	1;
    const PAYMENT_LOGGING_ACTION_OLD_RECEIPT_KEY	=	2;
    const PAYMENT_LOGGING_ACTION_TRANSFER_KEY       =   3;
    const PAYMENT_LOGGING_ACTION_REPAID_KEY         =   4;
    
     /**
     * Enums for payment item types
     * pay_payment_item.enum_item_type
     */
    const PAYMENT_ITEM_TYPE =   'payment_item_type';
    const PAYMENT_ITEM_TYPE_SERVICE_KEY     =   1;
    const PAYMENT_ITEM_TYPE_MEDICINE_KEY    =   2;
    
    /**
    * enum for insurance item (pay_insurance_support.enum_group_type)
     */
    const INSURANCE_GROUP               = 'insurance_group';
    const INSURANCE_GROUP_SERVICE       = 'service';
    const INSURANCE_GROUP_HIGH_TECH     = 'high_tech';
    const INSURANCE_GROUP_TRANSPORT     = 'transport';
    const INSURANCE_GROUP_DRUG_MATERIAL = 'drug_material';
    const INSURANCE_GROUP_CANCER_DRUG   = 'cancer_drug';
    const INSURANCE_GROUP_SERVICE_KEY       = 1;
    const INSURANCE_GROUP_HIGH_TECH_KEY     = 2;
    const INSURANCE_GROUP_TRANSPORT_KEY     = 3;
    const INSURANCE_GROUP_DRUG_MATERIAL_KEY = 4;
    const INSURANCE_GROUP_CANCER_DRUG_KEY   = 5;

    const DM_DEFAULT_USAGE = 'drug_material_default_usage';
    const DM_DEFAULT_USAGE_KNEADING = 2;
    const DM_DEFAULT_USAGE_GARGLE   = 3;
}
?>